package com.zhiche.lisa.bms.service.invoice;

import com.baomidou.mybatisplus.service.IService;
import com.zhiche.lisa.bms.dao.model.invoice.InvoiceApplyAccy;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 申请开票附件 服务类
 * </p>
 *
 * @author liuanshun
 * @since 2018-11-15
 */
public interface InvoiceApplyAccyService extends IService<InvoiceApplyAccy> {
    /**
     * 根据头单id查询申请开票附件
     *
     * @param headId
     * @return
     */
    List<InvoiceApplyAccy> selectInvoiceApplyAccyByHeadId(Long headId);

    /**
     * 根据条件查询申请开票附件
     *
     * @param condition
     * @return
     */
    List<InvoiceApplyAccy> selectInvoiceApplyAccyList(Map<String, Object> condition);

    /**
     * 批量新增申请开票附件
     *
     * @param invoiceApplyAccies
     * @param headId
     * @return
     */
    List<InvoiceApplyAccy> insertInvoiceApplyAccyList(List<InvoiceApplyAccy> invoiceApplyAccies, Long headId);

    /**
     * 新增申请开票附件
     *
     * @param invoiceApplyAccy
     * @param headId
     * @return
     */
    InvoiceApplyAccy insertInvoiceApplyAccy(InvoiceApplyAccy invoiceApplyAccy, Long headId);

    /**
     * 修改申请开票附件
     *
     * @param invoiceApplyAccies
     * @return
     */
    List<InvoiceApplyAccy> updateInvoiceApplyAccyList(List<InvoiceApplyAccy> invoiceApplyAccies);

    /**
     * 编辑申请开票附件
     *
     * @param invoiceApplyAccies
     * @param headId
     * @return
     */
    List<InvoiceApplyAccy> editInvoiceApplyAccyListByHeadIdAndResource(List<InvoiceApplyAccy> invoiceApplyAccies, Long headId);

    /**
     * 删除
     *
     * @param headId
     */
    void deleteInvoiceAccyByHeadId(Long headId);
}
